package ar.edu.utn.frgp.banco.service.impl;

import java.util.ArrayList;
import java.util.List;



import ar.edu.utn.frgp.banco.dao.PagoPrestamosDao;
import ar.edu.utn.frgp.banco.dao.impl.PagoPrestamosDaoImpl;
import ar.edu.utn.frgp.banco.domain.PagoPrestamo;
import ar.edu.utn.frgp.banco.exceptions.DataAccessException;
import ar.edu.utn.frgp.banco.exceptions.ServiceException;
import ar.edu.utn.frgp.banco.service.RecursoServicePagoPrestamos;



public class RecursoServicePagoPrestamosImpl implements RecursoServicePagoPrestamos{
	
	private PagoPrestamosDao pagoPrestamosDao;
	
	
	
	public RecursoServicePagoPrestamosImpl() { 
		setPagoPrestamosDao(new PagoPrestamosDaoImpl());
		
	}
	

	public void setPagoPrestamosDao(PagoPrestamosDao pagoPrestamosDao) {
		this.pagoPrestamosDao = pagoPrestamosDao;
	}



	public PagoPrestamosDao getPagoPrestamosDao() {
		return pagoPrestamosDao;
	}
	

	
	
		

public void registrarPagoPrestamo(PagoPrestamo regPago) throws ServiceException {
		
	
	try {
		pagoPrestamosDao.altaPagoPrestamo(regPago);
	} catch (DataAccessException e) {
		// TODO Auto-generated catch block
		e.printStackTrace();
	}
	
		
				
	}



public List<PagoPrestamo> listarPagoPrestamos() throws ServiceException {
	List<PagoPrestamo> pagoPrestamos = new ArrayList<PagoPrestamo>();
	try {
		
		pagoPrestamos = pagoPrestamosDao.traerTodosLosPagosDePrestamos();
		
		
	} catch (DataAccessException e) {
		throw new ServiceException("Error de acceso a BD." + e.getMessage());
		}
	return pagoPrestamos;
}


public List<PagoPrestamo> listarPagoPrestamosPorCliente(int dni) throws ServiceException {
	List<PagoPrestamo> pagoPrestamos = new ArrayList<PagoPrestamo>();
	try {
		
		pagoPrestamos = pagoPrestamosDao.traerTodosLosPagosDePrestamosDelCliente(dni);
		
		
	} catch (DataAccessException e) {
		throw new ServiceException("Error de acceso a BD." + e.getMessage());
		}
	return pagoPrestamos;
}



public int obtenerNroCuotasPagas(int idprestamo) throws ServiceException {
	
	List<PagoPrestamo> pagoPrestamos = new ArrayList<PagoPrestamo>();
	int i=0;
	try {
		
		pagoPrestamos = pagoPrestamosDao.traerTodosLosRegistrosDeCuotasPagas(idprestamo);
		
		
		
		for (PagoPrestamo c: pagoPrestamos){
			
			c.getFecha();
			i++;
		}
		
		
	} catch (DataAccessException e) {
		throw new ServiceException("Error de acceso a BD." + e.getMessage());
		}
	
	
	return i;
}





































	
	
}
